﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000F37 RID: 3895
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueMagicGameUnitInfo : IMessage<RogueMagicGameUnitInfo>, IMessage, IEquatable<RogueMagicGameUnitInfo>, IDeepCloneable<RogueMagicGameUnitInfo>, IBufferMessage
	{
		// Token: 0x17003181 RID: 12673
		// (get) Token: 0x0600AED1 RID: 44753 RVA: 0x001D90AF File Offset: 0x001D72AF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueMagicGameUnitInfo> Parser
		{
			get
			{
				return RogueMagicGameUnitInfo._parser;
			}
		}

		// Token: 0x17003182 RID: 12674
		// (get) Token: 0x0600AED2 RID: 44754 RVA: 0x001D90B6 File Offset: 0x001D72B6
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueMagicGameUnitInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17003183 RID: 12675
		// (get) Token: 0x0600AED3 RID: 44755 RVA: 0x001D90C8 File Offset: 0x001D72C8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueMagicGameUnitInfo.Descriptor;
			}
		}

		// Token: 0x0600AED4 RID: 44756 RVA: 0x001D90CF File Offset: 0x001D72CF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicGameUnitInfo()
		{
		}

		// Token: 0x0600AED5 RID: 44757 RVA: 0x001D90D8 File Offset: 0x001D72D8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicGameUnitInfo(RogueMagicGameUnitInfo other) : this()
		{
			this.uniqueId_ = other.uniqueId_;
			this.gameMagicUnit_ = ((other.gameMagicUnit_ != null) ? other.gameMagicUnit_.Clone() : null);
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600AED6 RID: 44758 RVA: 0x001D9124 File Offset: 0x001D7324
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicGameUnitInfo Clone()
		{
			return new RogueMagicGameUnitInfo(this);
		}

		// Token: 0x17003184 RID: 12676
		// (get) Token: 0x0600AED7 RID: 44759 RVA: 0x001D912C File Offset: 0x001D732C
		// (set) Token: 0x0600AED8 RID: 44760 RVA: 0x001D9134 File Offset: 0x001D7334
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint UniqueId
		{
			get
			{
				return this.uniqueId_;
			}
			set
			{
				this.uniqueId_ = value;
			}
		}

		// Token: 0x17003185 RID: 12677
		// (get) Token: 0x0600AED9 RID: 44761 RVA: 0x001D913D File Offset: 0x001D733D
		// (set) Token: 0x0600AEDA RID: 44762 RVA: 0x001D9145 File Offset: 0x001D7345
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicGameUnit GameMagicUnit
		{
			get
			{
				return this.gameMagicUnit_;
			}
			set
			{
				this.gameMagicUnit_ = value;
			}
		}

		// Token: 0x0600AEDB RID: 44763 RVA: 0x001D914E File Offset: 0x001D734E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueMagicGameUnitInfo);
		}

		// Token: 0x0600AEDC RID: 44764 RVA: 0x001D915C File Offset: 0x001D735C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueMagicGameUnitInfo other)
		{
			return other != null && (other == this || (this.UniqueId == other.UniqueId && object.Equals(this.GameMagicUnit, other.GameMagicUnit) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600AEDD RID: 44765 RVA: 0x001D91AC File Offset: 0x001D73AC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.UniqueId != 0U)
			{
				num ^= this.UniqueId.GetHashCode();
			}
			if (this.gameMagicUnit_ != null)
			{
				num ^= this.GameMagicUnit.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600AEDE RID: 44766 RVA: 0x001D9201 File Offset: 0x001D7401
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600AEDF RID: 44767 RVA: 0x001D9209 File Offset: 0x001D7409
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600AEE0 RID: 44768 RVA: 0x001D9214 File Offset: 0x001D7414
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.gameMagicUnit_ != null)
			{
				output.WriteRawTag(26);
				output.WriteMessage(this.GameMagicUnit);
			}
			if (this.UniqueId != 0U)
			{
				output.WriteRawTag(112);
				output.WriteUInt32(this.UniqueId);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600AEE1 RID: 44769 RVA: 0x001D9270 File Offset: 0x001D7470
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.UniqueId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.UniqueId);
			}
			if (this.gameMagicUnit_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.GameMagicUnit);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600AEE2 RID: 44770 RVA: 0x001D92C8 File Offset: 0x001D74C8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueMagicGameUnitInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.UniqueId != 0U)
			{
				this.UniqueId = other.UniqueId;
			}
			if (other.gameMagicUnit_ != null)
			{
				if (this.gameMagicUnit_ == null)
				{
					this.GameMagicUnit = new RogueMagicGameUnit();
				}
				this.GameMagicUnit.MergeFrom(other.GameMagicUnit);
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600AEE3 RID: 44771 RVA: 0x001D9330 File Offset: 0x001D7530
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600AEE4 RID: 44772 RVA: 0x001D933C File Offset: 0x001D753C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 26U)
				{
					if (num != 112U)
					{
						this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
					}
					else
					{
						this.UniqueId = input.ReadUInt32();
					}
				}
				else
				{
					if (this.gameMagicUnit_ == null)
					{
						this.GameMagicUnit = new RogueMagicGameUnit();
					}
					input.ReadMessage(this.GameMagicUnit);
				}
			}
		}

		// Token: 0x040046E1 RID: 18145
		private static readonly MessageParser<RogueMagicGameUnitInfo> _parser = new MessageParser<RogueMagicGameUnitInfo>(() => new RogueMagicGameUnitInfo());

		// Token: 0x040046E2 RID: 18146
		private UnknownFieldSet _unknownFields;

		// Token: 0x040046E3 RID: 18147
		public const int UniqueIdFieldNumber = 14;

		// Token: 0x040046E4 RID: 18148
		private uint uniqueId_;

		// Token: 0x040046E5 RID: 18149
		public const int GameMagicUnitFieldNumber = 3;

		// Token: 0x040046E6 RID: 18150
		private RogueMagicGameUnit gameMagicUnit_;
	}
}
